Упис групе битова
| време | меморија | улаз | излаз |
|---|---|---|---|
| 1 s | 64 Mb | стандардни излаз | стандардни улаз |
Написати програм који за дате бројеве \(a\), \(p\), \(n\), \(b\), на место \(n\) узастопних битова броја \(a\), почевши од позиције \(p\) (бројећи позиције од 1 слева) уписује вредност \(b\). Ако вредност \(b\) може да се запише са мање од \(n\) битова, подразумева се да се у запису броја \(b\) користи одговарајући број водећих нула.
Улаз
У првој линији стандардног улаза се налази неозначен цео број \(a\), мањи од \(2^{64}\). У другој линији је цео број \(p\), такав да \(1 \leq p \leq 64\). У трећој линији је природан број \(n\), такав да \(p + n \leq 65\). У четвртој линији се налази неозначен број \(b\), за чији запис је довољно \(n\) битова.
Излаз
На стандардни излаз исписати један ненегативан цео број, број који се добија када се у броју \(a\) назначена група битова замени записом броја \(b\) од \(n\) битова, који по потреби укључује водеће нуле.
Пример
Улаз
2448 53 4 6
Излаз
1680
Објашњење
Бинарни запис броја 2448 је 100110010000. На следећој
шеми дат је 64-битни запис броја 2448 са означеним бројањем позиција.
Позиције поменуте групе од 4 бита су маркиране знацима X.
На та места треба уписати бинарни запис броја 6 користећи 4 бинарне
цифре, тј. 0110. На крају је дат 64-битни запис
резултата.
p = 53 10 20 30 40 50 | 60 64 | | | | | | | | 0000000000000000000000000000000000000000000000000000100110010000 XXXX 0000000000000000000000000000000000000000000000000000011010010000
Вредност бинарног записа 11010010000 једнака је
1680.
Морате бити улоговани како бисте послали задатак на евалуацију.